package com.ssy.lingxi.workflow.model.constant;

import java.util.Arrays;

/**
 * 流程类型枚举
 * @author 万宁
 * @version 2.0.0
 * @date 2021-04-21
 */
public enum ProcessTypeEnum {
    /**
     * 内部流程 - 1
     */
    INTERNAL_PROCESS(1, "单一的内部流程"),

    /**
     * 外部流程 - 2
     */
    EXTERNAL_PROCESS(2, "单一的外部流程"),

    /**
     * 复杂流程（带子流程的工作流） - 3
     */
    COMPLEX_PROCESS(3, "复杂流程（有子流程的流程）");


    private final Integer code;
    private final String desc;

    ProcessTypeEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    public static ProcessTypeEnum parseInt(Integer code) {
        return Arrays.stream(ProcessTypeEnum.values()).filter(e -> e.getCode().equals(code)).findFirst().orElse(null);
    }
}
